package com.bw.entity.invoice;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author yinxurui
 * @since 2020-06-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PiInvoice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 编号
     */
    private String code;

    /**
     * 客户id
     */
    @TableField("customerId")
    private Long customerId;

    /**
     * 发票类型(0增值税普通发票，1增值税专用发票)
     */
    @TableField("invoiceType")
    private Integer invoiceType;

    /**
     * 发票抬头
     */
    @TableField("invoiceTitle")
    private String invoiceTitle;

    /**
     * 税号
     */
    @TableField("invoiceNum")
    private String invoiceNum;

    /**
     * 税率
     */
    @TableField("taxRate")
    private BigDecimal taxRate;

    /**
     * 开票金额
     */
    private BigDecimal amount;

    /**
     * 发票内容
     */
    private String content;

    /**
     * 收件人
     */
    private String receiver;

    /**
     * 收货地址
     */
    @TableField("revAddress")
    private String revAddress;

    /**
     * 联系电话
     */
    private String tel;

    /**
     * 物流公司
     */
    @TableField("logisticsCym")
    private String logisticsCym;

    /**
     * 创建人
     */
    @TableField("createUser")
    private Long createUser;

    /**
     * 创建时间
     */
    @TableField("createDate")
    private Date createDate;

    /**
     * 更新人
     */
    @TableField("updateUser")
    private Long updateUser;

    /**
     * 更新时间
     */
    @TableField("updateDate")
    private Date updateDate;

    /**
     * 状态（0未提交，1已提交，2已工艺，3已报价，4已转合同）
     */
    private Integer state;

    /**
     * 删除标识（0未删除，1已删除）
     */
    @TableField("isDelete")
    private Integer isDelete;


}
